/**
 * 获取活动详细的Servlet
 */
package org.morningangel.servlet.android;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

import org.morningangel.android.bean.ActivityDetailBean;
import org.morningangel.bean.Activity;
import org.morningangel.bean.ActivityImg;
import org.morningangel.bean.Status;
import org.morningangel.dao.ActivityDao;
import org.morningangel.dao.ActivityImgDao;
import org.morningangel.dao.StatusDao;
import org.morningangel.dao.impl.ActivityDaoImpl;
import org.morningangel.dao.impl.ActivityImgDaoImpl;
import org.morningangel.dao.impl.StatusDaoImpl;

@WebServlet(name = "AndroidActivityServlet", urlPatterns = "/android/activity")
public class ActivityServlet extends HttpServlet {

	private static final long serialVersionUID = 2215843986271827057L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		Integer userId = Integer.parseInt(request.getParameter("userId"));
		Integer activityId = Integer.parseInt(request.getParameter("activityId"));
		ActivityDao activityDao = new ActivityDaoImpl();
		StatusDao statusDao = new StatusDaoImpl();
		ActivityImgDao activityImgDao = new ActivityImgDaoImpl();
		Activity activity = activityDao.getById(activityId);
		Status status = statusDao.get(userId, activityId);
		List<ActivityImg> activityImgs = activityImgDao.getActivityImgs(activityId);
		ActivityDetailBean result = new ActivityDetailBean(activity, activityImgs, status);
		JSONObject jsonObject = JSONObject.fromObject(result);
		PrintWriter out = response.getWriter();
		out.print(jsonObject.toString());
		out.flush();
		out.close();
	}

}
